// 高精度加法

#include <iostream>
#include <cstring> // for strlen()/strcpy()/strcmp()..

using namespace std;

int a[200];
int b[200];
int sum[201];

int main()
{
    string aStr, bStr;
    cin >> aStr >> bStr;

    int aLen = aStr.length();
    int bLen = bStr.length();

    // 将字符串转换成数字，并倒置放入数组
    for(int i=0; i<aLen; i++)
        a[i] = aStr[aLen-i-1] - '0'; // [4 3 2 1]

    for(int i=0; i<bLen; i++)
        b[i] = bStr[bLen-i-1] - '0'; // [8 6]

    // 开始运算
    int carry = 0;
    int i, sumLen=0;
    for(i=0; i<aLen&&i<bLen; i++)
    {
        int tmp = a[i] + b[i] + carry;
        carry = 0;

        if(tmp >= 10)
        {
            sum[i] = tmp%10;
            carry  = 1;
        }
        else
            sum[i] = tmp;

        sumLen++;
    }

    if(aLen == bLen && carry == 1)
    {
        sum[i] = 1;
        sumLen++;
    }

    // 将a/b没有加完的剩余位数依次放入sum
    if(aLen > bLen)
    {
        for( ; i<aLen; i++)
        {
            int tmp = a[i] + carry;
            if(tmp < 10)
            {
                sum[i] = tmp;
                carry  = 0;
            }
            else
            {
                sum[i] = tmp%10;
                carry  = 1;
            }

            sumLen++;
        }
    }
    if(aLen < bLen)
    {
        for( ; i<bLen; i++)
        {
            int tmp = b[i] + carry;
            if(tmp < 10)
            {
                sum[i] = tmp;
                carry  = 0;
            }
            else
            {
                sum[i] = tmp%10;
                carry  = 1;
            }

            sumLen++;
        }
    }

    // 输出结果
    for(int i=0; i<sumLen; i++)
        cout << sum[sumLen-i-1];
    cout << endl;

    return 0;
}
